﻿using Little.Soldier.SWIFT;
using Little.Soldier.SWIFT.Definition;
using System.ComponentModel;

namespace Little.Soldier.SWIFT.Messages.Category0
{
  public class MTS35 : SwiftMessage
  {
    private static SwiftMessageDefinition MessageDefinition;
    private static SwiftTagDefinition U0002;
    private static SwiftTagSubItemDefinition U0003;

    [Description("User Abort Code")]
    public Tag441 UserAbortCode_441
    {
      get
      {
        return new Tag441((SwiftElement) this, 0, (SwiftDefinitionElement) MTS35.U0002);
      }
    }

    [Description("User Abort Code")]
    public Tag441 Tag441_UserAbortCode
    {
      get
      {
        return this.UserAbortCode_441;
      }
    }

    public MTS35()
      : base(true)
    {
    }

    public MTS35(SwiftMessage message)
      : base(message)
    {
    }

    internal override SwiftMessageDefinition MsgDefinition()
    {
      return MTS35.MessageDefinition;
    }

    protected override void InitSwiftMessageDefinition()
    {
      MTS35.MessageDefinition = new SwiftMessageDefinition("MTS35", "User Request to Abort LT (ABORT LT)");
      MTS35.U0002 = new SwiftTagDefinition("UserAbortCode_441", "User Abort Code");
      MTS35.U0002.TagName = "{441:";
      MTS35.U0003 = new SwiftTagSubItemDefinition("UserAbortCode", "User Abort Code");
      MTS35.U0002.Elements.Add((SwiftDefinitionElement) MTS35.U0003);
      MTS35.MessageDefinition.Elements.Add((SwiftDefinitionElement) MTS35.U0002);
    }
  }
}
